﻿<%

dim dbkillSql,killSqlconn,connkillSql
dbkillSql=db  '直接引用conn的db  "../../data/#data.mdb" 
On Error Resume Next
Set killSqlconn = server.createobject("ADODB.CONNECTION")
connkillSql="DBQ="+server.mappath(dbkillSql)+";DRIVER={Microsoft Access Driver (*.mdb)};"
'"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(dbkillSql)
killSqlconn.Open connkillSql
If Err Then
	err.Clear
	Set killSqlconn = Nothing
	Response.Write "数据库连接出错，请检查连接字串。"
	Response.End
End If


'--------定义部份------------------
Dim Fy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstr,Kill_IP,WriteSql
'自定义需要过滤的字串,用 "|" 分隔
Fy_In = "'|;|and|(|)|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|or|char|declare"
Kill_IP=True
WriteSql=True			
'----------------------------------


Fy_Inf = split(Fy_In,"|")
'--------POST部份------------------
If Request.Form<>"" Then
	For Each Fy_Post In Request.Form
		For Fy_Xh=0 To Ubound(Fy_Inf)
			If Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 Then
				If WriteSql=True Then
					killSqlconn.Execute("insert into SqlIn(Sqlin_IP,SqlIn_Web,SqlIn_FS,SqlIn_CS,SqlIn_SJ) values('"&Request.ServerVariables("REMOTE_ADDR")&"','"&Request.ServerVariables("URL")&"','POST','"&Fy_Post&"','"&replace(Request.Form(Fy_Post),"'","''")&"')")
					killSqlconn.close
					Set killSqlconn = Nothing
				End If
				Response.Write "<Script Language=JavaScript>alert('系统提示:\n\n请不要在参数中包含非法字符尝试注入！\n');</Script>"
				Response.Write "非法操作！你已被系统记录做了如下非法操作↓<br>"
				Response.Write "操作ＩＰ："&Request.ServerVariables("REMOTE_ADDR")&"<br>"
				Response.Write "操作时间："&Now&"<br>"
				Response.Write "操作页面："&Request.ServerVariables("URL")&"<br>"
				Response.Write "提交方式：ＰＯＳＴ<br>"
				Response.Write "提交参数："&Fy_Post&"<br>"
				Response.Write "提交数据："&Request.Form(Fy_Post)

				Response.End
			End If
		Next
	Next
End If
'----------------------------------

'--------GET部份-------------------
If Request.QueryString<>"" Then
	For Each Fy_Get In Request.QueryString
		For Fy_Xh=0 To Ubound(Fy_Inf)
			If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Then
				If WriteSql=True Then
					killSqlconn.Execute("insert into SqlIn(Sqlin_IP,SqlIn_Web,SqlIn_FS,SqlIn_CS,SqlIn_SJ) values('"&Request.ServerVariables("REMOTE_ADDR")&"','"&Request.ServerVariables("URL")&"','GET','"&Fy_Get&"','"&replace(Request.QueryString(Fy_Get),"'","''")&"')")
			killSqlconn.close
				Set killSqlconn = Nothing
				End If
				Response.Write "<Script Language=JavaScript>alert('系统提示:\n\n请不要在参数中包含非法字符尝试注入！\n');</Script>"
				Response.Write "非法操作！你已被系统记录做了如下非法操作↓<br>"
				Response.Write "操作ＩＰ："&Request.ServerVariables("REMOTE_ADDR")&"<br>"
				Response.Write "操作时间："&Now&"<br>"
				Response.Write "操作页面："&Request.ServerVariables("URL")&"<br>"
				Response.Write "提交方式：ＧＥＴ<br>"
				Response.Write "提交参数："&Fy_Get&"<br>"
				Response.Write "提交数据："&Request.QueryString(Fy_Get)
				Response.End
			End If
		Next
	Next
End If

%>